IF exists(SELECT * FROM dbo.sysobjects WHERE name='alleKlasUurLeraarVakcodes' AND xtype='FN') 
BEGIN
	DROP FUNCTION alleKlasUurLeraarVakcodes
END
GO

CREATE   function alleKlasUurLeraarVakcodes(@klas varchar(5))
returns @resultaten table(
   volgnummer char(2),
   vakcode char(2),
   aantalUren int,
   blokaard varchar(5),
   blokNr int,
   loopbaanVolgnummer char(2),
   naamcode char(4))
as
begin
declare @groepen table (groepscode varchar(5))

-- De vakken en codes worden ingevuld:

insert into @resultaten(volgNummer,vakcode,aantalUren,
	blokaard,blokNr,loopbaanVolgnummer,naamcode)
select distinct v.volgnummer,v.vakcode,a.aantalUren,
	blokaard,blokNr,loopbaanVolgnummer,naamcode
  from leraars..ambtsverdeling as a
  left join leraars..vakvolgorde as v
	on v.vakcode = a.vakcode
  where a.klas = @klas
	and v.vakcode is not null
  order by v.volgnummer

insert into @groepen(groepscode)
select distinct groepscode
  from leerlingen..seminariegroepen
  where inschrijvingsNr in 
		(select inschrijvingsNr 
			from leerlingen..leerlingen 
			where klas = @klas)

insert into @resultaten(volgNummer,vakcode,aantalUren,
	blokaard,blokNr,loopbaanVolgnummer,naamcode)
select distinct l.vakvolgorde,s.puntnaam,l.aantalUren,
	blokaard,blokNr,loopbaanVolgnummer,naamcode
  from leerlingen..seminarienamen as s
	left join leraars..seminarieLeraars as l
		on s.groepscode = l.groepscode
  where s.groepscode in 
		(select groepscode from @groepen)

return
end